In digital broadcast represented by satellite broadcast, a plurality of programs processed by data compression coding using, for example, an MPEG (Moving Picture Experts Group) technique are multiplexed and transmitted with the transmission rate dynamically changed by a statistical multiplexing technique. Thus, programs of high picture quality as a whole can be transmitted by effectively using the limited transmission rate.
Specifically, in the case where three programs are multiplexed at a fixed rate, each program is transmitted at a preset constant rate, as shown in FIG. 1. The transmission rate is allocated to each program so that predetermined picture quality is maintained even at a part where deterioration in picture quality is most perceptible in reducing the transmission rate in each program. Therefore, in this multiplexing at the fixed rate, an excess rate is allocated to a part where deterioration in picture quality is imperceptible.
On the other band, in the case of a statistical multiplexing technique as shown in FIG. 2, for example, in multiplexing four programs, the transmission rate of each program is dynamically changed by utilizing the fact that parts where deterioration in picture quality is perceptible in plural programs are unlikely to be generated simultaneously. Thus, it is not necessary to allocate an excess rate to a part where deterioration in picture quality is imperceptible. By allocating the redundant rate to other programs, the transmission efficiency can be improved as a whole without deteriorating the picture quality.
Meanwhile, in the case where various programs are transmitted with the bit rate changed by statistical multiplexing, it is necessary to control the bit rate on the side of an encoder (image coding device) so as to enable continuous (seamless) decoding of images on the side of a decoder (image decoding device). Specifically, in order to prevent overflow or underflow of a so-called VBV (video buffering verifier) buffer for temporarily holding transmitted data on the side of the image decoding device, it is necessary to provide a virtual VBV buffer in the encoder and control the bit rate so as not to generate overflow or under flow of this virtual VBV buffer.
Particularly, in such applications as broadcasting or communication, reading of bit streams cannot be controlled on the decoder side, unlike a storage medium such as a DVD (digital versatile disk). Therefore, it is necessary to control the data quantity of the virtual VBV buffer on the side of the image coding device.
For example, in a digital broadcasting system for transmitting a bit stream outputted from an image coding device 81 to a transmission line through an output buffer 82 and then decoding the bit stream from an input buffer 83 by an image decoding device 84 as shown in FIG. 3, in order to enable seamless changes of the bit rate, a delay time .tau. from when data encoded by the image coding device 81 is written to the output buffer 82 until the corresponding data is read out from the input buffer 83 by the image decoding device 84 is made constant regardless of the bit rate. By thus controlling the bit rate, constant transport stream data is held in the input buffer 83 as a VBV buffer. Therefore, overflow or underflow of the input buffer 83 can be prevented and the bit rate can be controlled seamlessly.
The delay time due to the VBV buffer is the maximum when the bit rate of the transport stream is the minimum bit rate min_bit_rate, and the value of the delay time is vbv_size(0)/min_bit_rate. In this case, vbv_size(0) is the capacity of the VBV buffer. Therefore, the minimum delay time .tau.min of the delay time .tau. of FIG. 3 is expressed by the following equation, where a line delay time td of a fixed value is added to the delay time vbv_size(0)/min_bit_rate of the VBV buffer. EQU .tau.min=vbv_size(0)/min_bit_rate+td
If the bit rate bit_rate of the transport stream is greater than the minimum bit rate min_bit_rate, the delay time .tau. is smaller than the delay time .tau.min. However, by delaying the data by using FIFO (first in first out), the delay time .tau. can be made coincident with the delay time .tau.min. (That is, the delay time .tau. can be made constant.)
As is clear from the above-mentioned equation, the delay time .tau.min becomes greater as the minimum bit rate min_bit_rate becomes smaller. For example, in MP@ML of MPEG2 (where the capacity of the VBV buffer is approximately 1.8 [Mbits]), if the minimum bit rate min_bit_rate is set at 3.0 [Mbps], the delay time (vbv_size(0)/min_bit_rate) of the VBV buffer as the first term of the above-mentioned equation is 0.6 [sec](=1.8 [Mbits]/3.0 [Mbits/sec]). If the minimum bit rate min_bit_rate is set at 0.5 [Mbps], the delay time (vbv_size(0)/min_bit_rate) is 3.6 [sec](=1.8 [Mbits]/0.5 [Mbits/sec]).
To the delay time vbv_size(0)/min_bit_rate of the VBV buffer thus obtained, the delay time td due to the transmission line and the delay time due to encoding and decoding are added, thereby specifically calculating the overall delay time from when image signals are inputted to the image coding device until the image signals are decoded and outputted from the image decoding device. The overall delay time thus calculated is 4 to 5 seconds.
In a live broadcast in which response to the broadcast contents is made while the broadcast contents are confirmed on a monitor, such a large delay time causes an uncomfortable feeling and thus generates a large problem. Therefore, it is desired to minimize the delay time .tau. of this type.
As a method for minimizing the delay time .tau., it is considered to set the minimum bit rate min_bit_rate at a large value and transmit the transport stream at a transmission rate not lower than the minimum bit rate min_bit_rate. In this method, however, since the transmission rate of the transport stream must be made higher, the allowable range for dynamically changing the bit rate is narrowed and the advantage of statistical multiplexing for improving the overall picture quality cannot be utilized satisfactorily.